#ifndef TOKEN_H_INCLUDED
#define TOKEN_H_INCLUDED

#include <string>

using namespace std;

enum TokenType {IDENTIFIER, NUMBER, TERMINAL};
class Token
{
    public:
        Token(string& aValue) : value(aValue)
        {
            if (aValue.find("id") != string::npos)
                type = IDENTIFIER;
            else if (aValue.find("num") != string::npos)
                type = NUMBER;
            else
                type = TERMINAL;
        }
        TokenType& Type()
        {
            return type;
        }
        string& Value()
        {
            return value;
        }
    private:
        TokenType type;
        string value;
};


#endif // TOKEN_H_INCLUDED
